Liskov Substitution Principle | Solid Principles | Low Level Design